package com.sure0000.java8;

import org.junit.Test;

/**
 * 可选类型声明：不需要声明参数类型，编译器可以统一识别参数值。
 * 可选的参数圆括号：一个参数无需定义圆括号，但多个参数需要定义圆括号。
 * 可选的大括号：如果主体包含了一个语句，就不需要使用大括号。
 * 可选的返回关键字：如果主体只有一个表达式返回值则编译器会自动返回值，大括号需要指定明表达式返回了一个数值。
 *
 * 注意：lambda 无法独立执行，它必须是实现一个函数式接口的唯一抽象方法。
 * 每个 lambda 表达式背后必定有一个函数式接口，该表达式实现的是这个函数式接口内部的唯一抽象方法。
 *
 * @author xuyouchang
 * @date 2020/11/3.
 */
public class LambdaDemo {

    interface MathOperation {
        int operation(int a, int b);
    }

    @Test
    public void demo1() {
        MathOperation addOperation = (a, b) -> a + b;
    }
}
